package org.jeecg.modules.inspection.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @Description: 巡检区域
 * @Author: jeecg-boot
 * @Date:   2019-09-26
 * @Version: V1.0
 */
@Data
@TableName("process_inspection_area")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="process_inspection_area对象", description="巡检区域")
public class PinspetionArea  implements Serializable {
    
	/**id*/
	@TableId(type = IdType.UUID)
    @ApiModelProperty(value = "id")
	private String id;
	/**管理处id*/
	@Excel(name = "管理处id", width = 15)
	@ApiModelProperty(value = "管理处id")
	@Dict(dicCode = "id",dictTable = "sys_depart",dicText = "depart_name")
	private String officeId;
	/**所属项目*/
	@Excel(name = "所属项目", width = 15)
	@ApiModelProperty(value = "所属项目")
	@Dict(dicCode = "id",dictTable = "base_project",dicText = "name")
	private String projectId;
	/**楼宇ID*/
	@Excel(name = "楼宇ID", width = 15)
	@ApiModelProperty(value = "楼宇ID")
	@Dict(dicCode = "id",dicText = "name",dictTable = "base_floor")
	private String floorId;
	/**巡检区域编号*/
	private Integer number;
	/**楼层*/
	@Excel(name = "楼层", width = 15)
	@ApiModelProperty(value = "楼层")
	private String tire;
	/**name*/
	@Excel(name = "name", width = 15)
    @ApiModelProperty(value = "name")
	private String name;
	/**巡检运行主表id*/
	@Excel(name = "巡检运行主表id", width = 15)
    @ApiModelProperty(value = "巡检运行主表id")
	private String processId;
	/**配置巡检范围id*/
	@Excel(name = "配置巡检范围id", width = 15)
    @ApiModelProperty(value = "配置巡检范围id")
	private String configLineAreaId;
	/**100:未开始  200:巡检中 300:巡检结束 400:强制结束*/
	@Excel(name = "100:未开始  200:巡检中 300:巡检结束 400:强制结束", width = 15)
    @ApiModelProperty(value = "100:未开始  200:巡检中 300:巡检结束 400:强制结束 500:超时未检")
	private Integer status;
	/**巡检开始时间*/
	@Excel(name = "巡检开始时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "巡检开始时间")
	private Date processStartTime;
	/**巡检结束时间*/
	@Excel(name = "巡检结束时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "巡检结束时间")
	private Date processEndTime;
	/**巡检经度*/
	@Excel(name = "巡检经度", width = 15)
    @ApiModelProperty(value = "巡检经度")
	private Double processLongitude;
	/**巡检纬度*/
	@Excel(name = "巡检纬度", width = 15)
    @ApiModelProperty(value = "巡检纬度")
	private Double processDimension;
	/**检查结果:0:正常 1:异常*/
	@Excel(name = "检查结果:0:正常 1:异常", width = 15)
    @ApiModelProperty(value = "检查结果:0:正常 1:异常")
	private Integer isCheckRes;
	/**tenantId*/
	@Excel(name = "tenantId", width = 15)
    @ApiModelProperty(value = "tenantId")
	private String tenantId;
	/**createBy*/
	@Excel(name = "createBy", width = 15)
    @ApiModelProperty(value = "createBy")
	private String createBy;
	/**createTime*/
	@Excel(name = "createTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "createTime")
	private Date createTime;
	/**updateBy*/
	@Excel(name = "updateBy", width = 15)
    @ApiModelProperty(value = "updateBy")
	private String updateBy;
	/**updateTime*/
	@Excel(name = "updateTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "updateTime")
	private Date updateTime;
	@TableField(exist = false)
	private Integer pstatus;
	/**delFlag*/
	@Excel(name = "delFlag", width = 15)
    @ApiModelProperty(value = "delFlag")
	private Integer delFlag;
	@TableField(exist =  false)
	private List<PinspectionItem> pinspectionItems;
	/*@TableField(exist =  false)
	private List<PinspectionException> pinspectionExceptions;*/
	@TableField(exist = false)
	private String exceptionContents;
}
